package com.turing.mission.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.DoubleSerializer;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 任务
 * @TableName mission
 */
@TableName(value ="mission")
@Data
public class Mission implements Serializable {
    /**
     * 任务主键
     */
    @TableId
    private String missionId;

    /**
     * 商家主键
     */
    private String merchantId;

    /**
     * 开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /**
     * 结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /**
     * 总赏金
     */
    private BigDecimal missionAmount;

    /**
     * 剩余赏金
     */
    private BigDecimal leftAmount;

    /**
     * 任务状态，P正常,D过期,N关闭
     */
    private String missionState;

    /**
     * 任务规则
     */
    private String missionInfo;

    /**
     * 任务图片
     */
    private String missionImg;

    /**
     * 单笔最高
     */
    private BigDecimal singleMax;

    /**
     * 参与人数上限
     */
    private Integer customerCount;

    /**
     * 管理员id
     */
    private Integer userId;

    /**
     * 显示图片
     */
    private String missionPicture;

    /**
     * 领取人数增加
     */
    private Integer missionAdd;

    /**
     * 签到状态，0不需要签到，1需要签到
     */
    private Integer signState;

    /**
     * 任务标题，不填默认为商家名称
     */
    private String missionTitle;

    /**
     * 发送状态，0未推送，1已推送
     */
    private Integer sendState;

    /**
     * 任务级别
     */
    private Integer missionLevel;

    /**
     * 评论外键（作为追加任务）
     */
    private String commentId;

    /**
     * 任务类型外键
     */
    private String mtId;

    /**
     * 商品外键
     */
    private String gdId;

    /**
     * 赏金来源，0商家，1平台
     */
    private Integer sourceType;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}